import { ReturnDataType } from "@/types/model";
import { reactive } from "vue"; // 导入reactive函数

// 定义状态管理类
class StateManager {
  state: {
    ajaxData: ReturnDataType;
    count: number;
  };
  constructor() {
    this.state = reactive({ ajaxData: {}, count: 1 }); // 初始化状态
  }

  // 触发动作的方法
  triggerAction(actionName: string, payload?: any) {
    // 在这里实现动作的逻辑
    if (actionName === "setAjaxData") {
      this.state.ajaxData = payload; // 更新状态
    }
    if (actionName === "setCount") {
      this.state.count = this.state.count + 1; // 更新状态
    }
    // ...其他动作
  }

  // 获取状态的方法
  getState() {
    return this.state;
  }
}

export default StateManager;
